<?php
class ContratistaModel extends ModelBase
{
	public function getListaContratista($array)
	{
		include("config.php");
		
		$select = " c.id id, c.nombre nombre, c.apellido apellido, c.dni dni, e.razon_social razon_social, c.fecha_alta fecha_alta, c.habilitado habilitado ";
		$from = " gc_contratista c LEFT JOIN gc_empresa e ON (c.id_empresa = e.id) ";
		$where = " c.vigente = 'S' ";
		
		if(trim($array["nombre"]) <> "")
		{
			$where .= " and c.nombre LIKE '".trim($array["nombre"])."%'";
		}

		if(trim($array["apellido"]) <> "")
		{
			$where .= " and c.apellido LIKE '".trim($array["apellido"])."%'";
		}
		
		if(trim($array["dni"]) <> "")
		{
			$where .= " and c.dni LIKE '".trim($array["dni"])."%'";
		}
		
		if(trim($array["empresa"]) <> "")
		{
			$where .= " and e.razon_social LIKE '".trim($array["empresa"])."%'";
		}
		
		$where .= " ORDER BY c.id ";
		
		$sqlpersonal = new SqlPersonalizado($config->get('dbhost'), $config->get('dbuser'), $config->get('dbpass') );
		$sqlpersonal->set_select($select); 
	  	$sqlpersonal->set_from($from);
		$sqlpersonal->set_where($where);
		$sqlpersonal->set_limit(($array["inicio"]*40),($array["inicio"]*40)+40); // PARA MYSQL
	
    	$sqlpersonal->load();
		$cant = $sqlpersonal->get_cant_registros();

		$result = array();
		$result[] = $sqlpersonal;
		$result[] = $cant;
		
    	return $result;	
	}
	
	
	public function grabar_datosContratista($array)
	{
		$tipop = $array["tipop"];
		
		$dato = new Contratista();
		if($tipop=="M")
		{
			$dato->add_filter("id","=",$array["id_contratista"]);
			$dato->load();
		}
		
		if(trim($array["dni"])<>"")$dato->set_data("dni",$array["dni"]);
		if(trim($array["apellido"])<>"")$dato->set_data("apellido",$array["apellido"]);
		if(trim($array["nombre"])<>"")$dato->set_data("nombre",$array["nombre"]);
		if(trim($array["id_categoria_laboral"])<>"")$dato->set_data("id_categoria_laboral",$array["id_categoria_laboral"]);
		if(trim($array["id_convenio_colectivo"])<>"")$dato->set_data("id_convenio_colectivo",$array["id_convenio_colectivo"]);
		if(trim($array["vto_contrato_trabajo"])<>"")$dato->set_data("vto_contrato_trabajo",formatoFecha($array["vto_contrato_trabajo"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["id_empresa"])<>"")$dato->set_data("id_empresa",$array["id_empresa"]);
		if(trim($array["cuil"])<>"")$dato->set_data("cuil",$array["cuil"]);
		if(trim($array["fecha_alta"])<>"")$dato->set_data("fecha_alta",formatoFecha($array["fecha_alta"],"dd/mm/yyyy","yyyy-mm-dd")); 
		if(trim($array["habilitado"])<>"")
		{
			$dato->set_data("habilitado",$array["habilitado"]);
		}
		else
		{
			$dato->set_data("habilitado","N");
		}
		if(trim($array["id_rubro"])<>"")$dato->set_data("id_rubro",$array["id_rubro"]);
		if(trim($array["id_planta"])<>"")$dato->set_data("id_planta",$array["id_planta"]);
		if(trim($array["actividad"])<>"")$dato->set_data("actividad",$array["actividad"]);
		if(trim($array["id_modulo_capacitacion"])<>"")$dato->set_data("id_modulo_capacitacion",$array["id_modulo_capacitacion"]);
		if(trim($array["fecha_capacitacion"])<>"")$dato->set_data("fecha_capacitacion",formatoFecha($array["fecha_capacitacion"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["vigencia_capacitacion"])<>"")$dato->set_data("vigencia_capacitacion",$array["vigencia_capacitacion"]);
		if(trim($array["nro_contrato_art"])<>"")$dato->set_data("nro_contrato_art",$array["nro_contrato_art"]);
		if(trim($array["id_empresa_art"])<>"")$dato->set_data("id_empresa_art",$array["id_empresa_art"]);
		if(trim($array["vto_poliza_art"])<>"")$dato->set_data("vto_poliza_art",formatoFecha($array["vto_poliza_art"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["vto_clausula_art"])<>"")$dato->set_data("vto_clausula_art",formatoFecha($array["vto_clausula_art"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["id_empresa_acc_pers"])<>"")$dato->set_data("id_empresa_acc_pers",$array["id_empresa_acc_pers"]);
		if(trim($array["vto_poliza_acc_pers"])<>"")$dato->set_data("vto_poliza_acc_pers",formatoFecha($array["vto_poliza_acc_pers"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["vto_pago_poliza_acc_pers"])<>"")$dato->set_data("vto_pago_poliza_acc_pers",formatoFecha($array["vto_pago_poliza_acc_pers"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["id_seguro_vida"])<>"")$dato->set_data("id_seguro_vida",$array["id_seguro_vida"]);
		if(trim($array["vto_poliza_seguro_vida"])<>"")$dato->set_data("vto_poliza_seguro_vida",formatoFecha($array["vto_poliza_seguro_vida"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($_FILES["foto"]['tmp_name'])<>"")$dato->set_data("foto",$_FILES["foto"]['name']);
		if(trim($array["carnet_conducir"])<>"")$dato->set_data("carnet_conducir",$array["carnet_conducir"]);
		if(trim($array["vto_carnet_conducir"])<>"")$dato->set_data("vto_carnet_conducir",formatoFecha($array["vto_carnet_conducir"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["id_categoria_carnet"])<>"")$dato->set_data("id_categoria_carnet",$array["id_categoria_carnet"]);
		if(trim($array["carnet_especial"])<>"")$dato->set_data("carnet_especial",$array["carnet_especial"]);
		if(trim($array["vto_carnet_especial"])<>"")$dato->set_data("vto_carnet_especial",formatoFecha($array["vto_carnet_especial"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["id_examen_medico"])<>"")$dato->set_data("id_examen_medico",$array["id_examen_medico"]);
		if(trim($array["fecha_presentacion"])<>"")$dato->set_data("fecha_presentacion",formatoFecha($array["fecha_presentacion"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["vigencia_examen"])<>"")$dato->set_data("vigencia_examen",$array["vigencia_examen"]);
		if(trim($array["calificacion"])<>"")$dato->set_data("calificacion",$array["calificacion"]);
		if(trim($array["fecha_calificacion"])<>"")$dato->set_data("fecha_calificacion",formatoFecha($array["fecha_calificacion"],"dd/mm/yyyy","yyyy-mm-dd"));
		if(trim($array["vigencia_calificacion"])<>"")$dato->set_data("vigencia_calificacion",$array["vigencia_calificacion"]);
		$dato->set_data("vigente","S");
		$dato->save();
		if($tipop=="M")
		{
			$destino = "upload/foto/contratista".$array["id_contratista"];
		}
		else
		{
			$dato->load();
			$destino = "upload/foto/contratista".$dato->get_data("id");
		}
		if(!(is_dir($destino) || is_file(strtoupper($destino))))
		{
			mkdir($destino, 0777);
		}
		$destino .= "/";
		if(is_uploaded_file($_FILES["foto"]['tmp_name'])) 
		{ 
			$nombre_archivo = $_FILES["foto"]['name']; 
			$tipo_archivo = $_FILES["foto"]['type']; 
			$tamano_archivo = $_FILES["foto"]['size']; 
			$destino .= $nombre_archivo;
		 	move_uploaded_file($_FILES["foto"]['tmp_name'], $destino);	
	   } 
	}	
	
	public function getContratista($array)
	{
		$dato = new Contratista();
		$dato->add_filter("id","=",$array["id"]);
		$dato->load();
		
		return $dato;
	}
	
	public function bajaContratista($array)
	{
		$dato = new Contratista();
		$dato->add_filter("id","=",$array["id"]);
		$dato->load();
		$dato->set_data("vigente","N");
		$dato->save();
	}
	
	public function getCantSeleccion($array_cont)
	{
		return count($array_cont);
	}
	
	public function guardarEtiqueta($array, $array_cont)
	{
		if($array["param"] == "ARRAY")
		{
			$arrayaux = explode(",",$array["cont"]);
			
			for($i=0; $i<count($arrayaux); $i++)
			{
				if(!in_array($arrayaux[$i],$array_cont))
				{
					$array_cont[] = $arrayaux[$i];
				}
			}
		}
		
		if($array["param"] == "ID")
		{
				if(!in_array($array["cont"],$array_cont))
				{
					$array_cont[] = $array["cont"];
				}
		}
		
		return $array_cont;
	}
	
	public function quitarEtiqueta($array, $array_cont)
	{
		if($array["param"] == "ARRAY")
		{
			$arrayaux = explode(",",$array["cont"]);
			
			for($i=0; $i<count($arrayaux); $i++)
			{
				if(in_array($arrayaux[$i],$array_cont))
				{
					$clave = array_search($arrayaux[$i], $array_cont);
					unset($array_cont[$clave]); 
					$array_cont = array_values($array_cont);
				}
			}
		}
		
		if($array["param"] == "ID")
		{
				if(in_array($array["cont"],$array_cont))
				{
					$clave = array_search($array["cont"], $array_cont);
					unset($array_cont[$clave]); 
					$array_cont = array_values($array_cont);
				}
		}
		
		return $array_cont;
	}
	
	public function getConfigEtiqueta($array)
	{
		$config = array();
		$config["width"] = "8";
		$config["texto_etiqueta"] = "texto_etiqueta";
		$config["precio_etiqueta"] = "precio_etiqueta";
		$config["texto_etiqueta_data"] = "texto_etiqueta_data";
		$config["width_logo"] = "3";
		$config["cant_col"] = 2;
		
		if($array["tam"] == "C")
		{
			$config["width"] = "6.5";
			$config["texto_etiqueta"] = "texto_etiqueta_corto";
			$config["precio_etiqueta"] = "precio_etiqueta_corto";
			$config["texto_etiqueta_cod"] = "texto_etiqueta_cod_corto";
			$config["width_logo"] = "2";
			$config["cant_col"] = 3;
		}
		
		return $config;
	}
	
	public function getContratistaEtiquetas($array_cont)
	{
		include("config.php");
		
		$select = " select c.id id, e.razon_social razon_social, c.nombre nombre, c.apellido apellido, c.dni dni, c.foto foto, c.actividad actividad, p.denominacion denominacion, 4564 legajo ";
		$from = " from gc_contratista c left join gc_empresa e on e.id = c.id_empresa ";
		$from .= " left join gc_planta p on p.id = c.id_planta ";
	  	$where = " where c.id in ( ";
		for($i=0; $i<count($array_cont); $i++)
		{
			if($i==0)
			{
				$where .= $array_cont[$i];
			}
			else
			{
				$where .= ",".$array_cont[$i];
			}
		}
		$where .= " ) ";
		$where .= " ORDER BY c.id ";

		//echo($select.$from.$where);

		$sqlpersonal = new SqlPersonalizado($config->get('dbhost'), $config->get('dbuser'), $config->get('dbpass') );
		$sqlpersonal->set_sqlcompleto($select.$from.$where);
			
    	$sqlpersonal->loadSqlCompleto();	
		
    	return $sqlpersonal;
	}
}
?>